/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package longprojectihm;

import HAOJianguo.LogToMemory;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.JFileChooser;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.filechooser.FileFilter;
import javax.swing.table.TableModel;
import model_package.Event;
import model_package.Log;
import org.eclipse.swt.graphics.GC;

/**
 *
 * @author NAJIB
 */
public class ContactEditorGUI extends javax.swing.JFrame {

    /**
     * Creates new form ContactEditorGUI
     */
    public ContactEditorGUI() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jMenuItem19 = new javax.swing.JMenuItem();
        jPanel1 = new javax.swing.JPanel();
        jPanel3 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTree1 = new javax.swing.JTree();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jMenuBar2 = new javax.swing.JMenuBar();
        jMenu3 = new javax.swing.JMenu();
        jMenuItem2 = new javax.swing.JMenuItem();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuItem3 = new javax.swing.JMenuItem();
        jMenuItem4 = new javax.swing.JMenuItem();
        logMenu = new javax.swing.JMenu();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem5 = new javax.swing.JMenuItem();
        jMenuItem6 = new javax.swing.JMenuItem();
        jMenuItem7 = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jMenuItem8 = new javax.swing.JMenuItem();
        jMenuItem9 = new javax.swing.JMenuItem();
        jMenuItem10 = new javax.swing.JMenuItem();
        jMenu4 = new javax.swing.JMenu();
        jMenuItem11 = new javax.swing.JMenuItem();
        jMenuItem12 = new javax.swing.JMenuItem();
        jMenuItem13 = new javax.swing.JMenuItem();
        jMenu5 = new javax.swing.JMenu();
        jMenuItem14 = new javax.swing.JMenuItem();
        jMenuItem15 = new javax.swing.JMenuItem();
        jMenuItem16 = new javax.swing.JMenuItem();
        jMenu6 = new javax.swing.JMenu();
        jMenuItem17 = new javax.swing.JMenuItem();
        jMenuItem18 = new javax.swing.JMenuItem();
        jMenuItem20 = new javax.swing.JMenuItem();
        jMenuItem21 = new javax.swing.JMenuItem();
        jMenuItem22 = new javax.swing.JMenuItem();
        jMenu7 = new javax.swing.JMenu();
        jMenuItem23 = new javax.swing.JMenuItem();
        jMenuItem24 = new javax.swing.JMenuItem();
        jMenu8 = new javax.swing.JMenu();
        jMenu9 = new javax.swing.JMenu();
        jMenuItem25 = new javax.swing.JMenuItem();
        jMenuItem27 = new javax.swing.JMenuItem();
        jMenuItem28 = new javax.swing.JMenuItem();
        jMenu10 = new javax.swing.JMenu();
        jMenuItem29 = new javax.swing.JMenuItem();
        jMenuItem30 = new javax.swing.JMenuItem();
        jMenuItem31 = new javax.swing.JMenuItem();
        jMenuItem26 = new javax.swing.JMenuItem();
        jMenuItem32 = new javax.swing.JMenuItem();
        jMenu11 = new javax.swing.JMenu();
        jMenuItem33 = new javax.swing.JMenuItem();
        jMenuItem34 = new javax.swing.JMenuItem();
        jMenuItem35 = new javax.swing.JMenuItem();
        jMenuItem36 = new javax.swing.JMenuItem();
        jMenu13 = new javax.swing.JMenu();
        jMenuItem37 = new javax.swing.JMenuItem();
        jMenuItem38 = new javax.swing.JMenuItem();
        jMenuItem39 = new javax.swing.JMenuItem();
        jMenuItem40 = new javax.swing.JMenuItem();
        jMenuItem41 = new javax.swing.JMenuItem();
        jMenu12 = new javax.swing.JMenu();

        jMenuItem19.setText("add");

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jPanel1.setBackground(new java.awt.Color(158, 219, 219));

        jPanel3.setBackground(new java.awt.Color(102, 204, 255));

        jButton1.setText("Discover Process");

        jButton2.setText("Discover Protocol");

        jButton3.setText("Launch Tina");

        jButton4.setText("Launch NetDraw");

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addGap(20, 20, 20)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap(21, Short.MAX_VALUE))
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addGap(21, 21, 21)
                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jTree1.setBackground(new java.awt.Color(102, 204, 255));
        jScrollPane1.setViewportView(jTree1);

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null},
                {null, null, null, null, null, null, null, null}
            },
            new String [] {
                "Case", "Event", "Task", "Performatif", "Actor", "Receiver", "Conversation", "Date"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }
        });
        jScrollPane2.setViewportView(jTable1);

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jScrollPane1)
                    .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 974, Short.MAX_VALUE)
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 421, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(11, 11, 11)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 642, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(20, 20, 20))
        );

        jMenuBar2.setBackground(new java.awt.Color(140, 178, 177));

        jMenu3.setText("File");

        jMenuItem2.setText("load Log");
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenu3.add(jMenuItem2);

        jMenuItem1.setText("create new log");
        jMenu3.add(jMenuItem1);

        jMenuItem3.setText("save Log");
        jMenu3.add(jMenuItem3);

        jMenuItem4.setText("exit");
        jMenu3.add(jMenuItem4);

        jMenuBar2.add(jMenu3);

        logMenu.setText("Log");

        jMenu1.setText("Case");

        jMenuItem5.setText("add");
        jMenu1.add(jMenuItem5);

        jMenuItem6.setText("edit");
        jMenu1.add(jMenuItem6);

        jMenuItem7.setText("delete");
        jMenu1.add(jMenuItem7);

        logMenu.add(jMenu1);

        jMenu2.setText("Event");

        jMenuItem8.setText("add");
        jMenu2.add(jMenuItem8);

        jMenuItem9.setText("edit");
        jMenu2.add(jMenuItem9);

        jMenuItem10.setText("delete");
        jMenu2.add(jMenuItem10);

        logMenu.add(jMenu2);

        jMenu4.setText("Task");

        jMenuItem11.setText("add");
        jMenu4.add(jMenuItem11);

        jMenuItem12.setText("edit");
        jMenu4.add(jMenuItem12);

        jMenuItem13.setText("delete");
        jMenu4.add(jMenuItem13);

        logMenu.add(jMenu4);

        jMenu5.setText("Agent");

        jMenuItem14.setText("add");
        jMenu5.add(jMenuItem14);

        jMenuItem15.setText("edit");
        jMenu5.add(jMenuItem15);

        jMenuItem16.setText("delete");
        jMenu5.add(jMenuItem16);

        logMenu.add(jMenu5);

        jMenu6.setText("Performatif");

        jMenuItem17.setText("import");
        jMenu6.add(jMenuItem17);

        jMenuItem18.setText("export");
        jMenu6.add(jMenuItem18);

        jMenuItem20.setText("add");
        jMenu6.add(jMenuItem20);

        jMenuItem21.setText("edit");
        jMenu6.add(jMenuItem21);

        jMenuItem22.setText("delete");
        jMenu6.add(jMenuItem22);

        logMenu.add(jMenu6);

        jMenuBar2.add(logMenu);

        jMenu7.setText("Protocol");

        jMenuItem23.setText("load");
        jMenu7.add(jMenuItem23);

        jMenuItem24.setText("save");
        jMenu7.add(jMenuItem24);

        jMenu8.setText("edit");

        jMenu9.setText("Protocol Branch");

        jMenuItem25.setText("add");
        jMenu9.add(jMenuItem25);

        jMenuItem27.setText("edit");
        jMenu9.add(jMenuItem27);

        jMenuItem28.setText("delete");
        jMenu9.add(jMenuItem28);

        jMenu8.add(jMenu9);

        jMenu10.setText("Protocol Element");

        jMenuItem29.setText("add");
        jMenu10.add(jMenuItem29);

        jMenuItem30.setText("edit");
        jMenu10.add(jMenuItem30);

        jMenuItem31.setText("delete");
        jMenu10.add(jMenuItem31);

        jMenu8.add(jMenu10);

        jMenu7.add(jMenu8);

        jMenuItem26.setText("check");
        jMenu7.add(jMenuItem26);

        jMenuItem32.setText("extract");
        jMenu7.add(jMenuItem32);

        jMenuBar2.add(jMenu7);

        jMenu11.setText("Discover");

        jMenuItem33.setText("Coordination protocol");
        jMenu11.add(jMenuItem33);

        jMenuItem34.setText("Interaction protocol");
        jMenu11.add(jMenuItem34);

        jMenuItem35.setText("Agents network");
        jMenu11.add(jMenuItem35);

        jMenuItem36.setText("Organizational structures");
        jMenu11.add(jMenuItem36);

        jMenuBar2.add(jMenu11);

        jMenu13.setText("Visualisation");

        jMenuItem37.setText("Process");
        jMenu13.add(jMenuItem37);

        jMenuItem38.setText("Protocol");
        jMenu13.add(jMenuItem38);

        jMenuItem39.setText("Launch Tina");
        jMenu13.add(jMenuItem39);

        jMenuItem40.setText("Launch NetDraw");
        jMenuItem40.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem40ActionPerformed(evt);
            }
        });
        jMenu13.add(jMenuItem40);

        jMenuItem41.setText("Configuration");
        jMenu13.add(jMenuItem41);

        jMenuBar2.add(jMenu13);

        jMenu12.setText("Help");
        jMenuBar2.add(jMenu12);

        setJMenuBar(jMenuBar2);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    /**
     * **************************************
     * @author HAOJianguo
     */
    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
        // TODO add your handling code here:
        // TODO add your handling code here:
        JFileChooser fileChooser = new JFileChooser(".");
        fileChooser.setFileFilter(new FileFilter() {

            @Override
            public boolean accept(File file) {
                if (file.isDirectory()) {
                    return true;
                }
                return file.getName().endsWith(".xml");
            }

            @Override
            public String getDescription() {
                return ".xml";
            }
        });
        int result = fileChooser.showOpenDialog(this);
        if (result == JFileChooser.APPROVE_OPTION) {
            this.logPath = fileChooser.getSelectedFile().getAbsolutePath();
            // create un object log
            ContactEditorGUI.log = new Log(fileChooser.getSelectedFile().getName());
            Object[][] data = LogToMemory.logToMemoryAndDisplay(logPath);
            // update data
            jTable1.setModel(new javax.swing.table.DefaultTableModel(
                    data,
                    new String[]{
                        "Case", "Event", "Task", "Performatif", "Actor", "Recevier", "Conversation", "Date"
                    }) {

                Class[] types = new Class[]{
                    java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
                };

                public Class getColumnClass(int columnIndex) {
                    return types[columnIndex];
                }
            });
            // StaticFonction.loadLogFile(logPath);
        }
        //add code
    }//GEN-LAST:event_jMenuItem2ActionPerformed

    /**
     * @author HAOJianguo
     */
    private void jMenuItem40ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem40ActionPerformed
        // TODO add your handling code here:
        Log temp = getLog();
        int actorAccount = 0;
        Integer[][] matrix = null;
        System.out.println(temp.getListCasesID().size());
        for (Iterator<String> i = temp.getListCasesID().iterator(); i.hasNext();) {
            String caseID = i.next();
            ArrayList<String> points = new ArrayList<String>();
            for (Iterator<Event> j = temp.getListEvents(caseID).iterator(); j.hasNext();) {
                Event e = j.next();
                addStringUnique(points, e.getIniator());
                for (Iterator<String> k = e.getListReceivers().iterator(); k.hasNext();) {
                    String recevier = k.next();
                    addStringUnique(points, recevier);
                }
            }
            // size of matrix
            actorAccount = points.size();
            // matrix of result
            matrix = new Integer[actorAccount][actorAccount];
            // save the situation of interaction
            String[][] interaction = new String[actorAccount][actorAccount];
            for (Iterator<Event> j = temp.getListEvents(caseID).iterator(); j.hasNext();) {
                Event e = j.next();
                for (Iterator<String> k = e.getListReceivers().iterator(); k.hasNext();) {
                    String recevier = k.next();
                    interaction[points.indexOf(e.getIniator())][points.indexOf(recevier)]=e.getPerfomative();
                }
            }
            // write result to matrix
            for(int ii=0;ii<actorAccount;ii++){
                for(int jj=0;jj<actorAccount;jj++){
                    if(interaction[ii][jj]!=null && interaction[jj][ii]!=null)
                    {
                        if(interaction[ii][jj].equals("propose")){
                            if(interaction[jj][ii].equals("reject")||interaction[jj][ii].equals("accept"))
                            matrix[ii][jj]=1;
                        }
                        else if(interaction[ii][jj].equals("reject")||interaction[ii][jj].equals("accept")){
                            if(interaction[jj][ii].equals("propose"))
                            matrix[jj][ii]=1;
                        }
                    }
                }
            }
            System.out.println("****************"+caseID+"***************");
            for(int iii=0;iii<actorAccount;iii++){
                for(int jjj=0;jjj<actorAccount;jjj++){
                    System.out.print(matrix[iii][jjj]+" ");
                }
                System.out.println();
            }
//            System.out.println(caseID+":");
//            for(int l = 0;l<points.size();l++){
//                System.out.println(points.get(l));
//            }
        }
    }//GEN-LAST:event_jMenuItem40ActionPerformed
    /**
     * @author HAOJianguo
     */
    private int addStringUnique(ArrayList<String> arrayList, String string) {
        if (arrayList.isEmpty()) {
            arrayList.add(string);
            return 0;
        } else {
            for (int i = 0; i < arrayList.size(); i++) {
                if (arrayList.get(i).equals(string)) {
                    return -1;
                }
            }
            arrayList.add(string);
            return 0;
        }
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /*
         * Set the Nimbus look and feel
         */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /*
         * If Nimbus (introduced in Java SE 6) is not available, stay with the
         * default look and feel. For details see
         * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(ContactEditorGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(ContactEditorGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(ContactEditorGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(ContactEditorGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /*
         * Create and display the form
         */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new ContactEditorGUI().setVisible(true);
            }
        });
    }
    /**
     *****************************
     * @author HAO Jianguo
     *
     */
    private String logPath;
    private static Log log;

    public static Log getLog() {
        return ContactEditorGUI.log;
    }

    public static void setLog(Log log) {
        ContactEditorGUI.log = log;
    }

    public String getLogPath() {
        return logPath;
    }

    public void setLogPath(String logPath) {
        this.logPath = logPath;
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu10;
    private javax.swing.JMenu jMenu11;
    private javax.swing.JMenu jMenu12;
    private javax.swing.JMenu jMenu13;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenu jMenu4;
    private javax.swing.JMenu jMenu5;
    private javax.swing.JMenu jMenu6;
    private javax.swing.JMenu jMenu7;
    private javax.swing.JMenu jMenu8;
    private javax.swing.JMenu jMenu9;
    private javax.swing.JMenuBar jMenuBar2;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem10;
    private javax.swing.JMenuItem jMenuItem11;
    private javax.swing.JMenuItem jMenuItem12;
    private javax.swing.JMenuItem jMenuItem13;
    private javax.swing.JMenuItem jMenuItem14;
    private javax.swing.JMenuItem jMenuItem15;
    private javax.swing.JMenuItem jMenuItem16;
    private javax.swing.JMenuItem jMenuItem17;
    private javax.swing.JMenuItem jMenuItem18;
    private javax.swing.JMenuItem jMenuItem19;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem20;
    private javax.swing.JMenuItem jMenuItem21;
    private javax.swing.JMenuItem jMenuItem22;
    private javax.swing.JMenuItem jMenuItem23;
    private javax.swing.JMenuItem jMenuItem24;
    private javax.swing.JMenuItem jMenuItem25;
    private javax.swing.JMenuItem jMenuItem26;
    private javax.swing.JMenuItem jMenuItem27;
    private javax.swing.JMenuItem jMenuItem28;
    private javax.swing.JMenuItem jMenuItem29;
    private javax.swing.JMenuItem jMenuItem3;
    private javax.swing.JMenuItem jMenuItem30;
    private javax.swing.JMenuItem jMenuItem31;
    private javax.swing.JMenuItem jMenuItem32;
    private javax.swing.JMenuItem jMenuItem33;
    private javax.swing.JMenuItem jMenuItem34;
    private javax.swing.JMenuItem jMenuItem35;
    private javax.swing.JMenuItem jMenuItem36;
    private javax.swing.JMenuItem jMenuItem37;
    private javax.swing.JMenuItem jMenuItem38;
    private javax.swing.JMenuItem jMenuItem39;
    private javax.swing.JMenuItem jMenuItem4;
    private javax.swing.JMenuItem jMenuItem40;
    private javax.swing.JMenuItem jMenuItem41;
    private javax.swing.JMenuItem jMenuItem5;
    private javax.swing.JMenuItem jMenuItem6;
    private javax.swing.JMenuItem jMenuItem7;
    private javax.swing.JMenuItem jMenuItem8;
    private javax.swing.JMenuItem jMenuItem9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTable jTable1;
    private javax.swing.JTree jTree1;
    private javax.swing.JMenu logMenu;
    // End of variables declaration//GEN-END:variables
}
